#! /bin/sh
echo ""
echo "Archivo: "test.sh""
echo ""
echo ""
echo "Marco de prueba:"
echo "----------------"
echo "Existe un archivo de prueba llamado "maximum_overdrive.bin" del cual se conoce su "
echo "volcado a octal sin formato de ningún tipo (todos los bytes del volcado en forma "
echo "continua), el cual se refleja en el archivo "maximum_overdrive.txt""
echo ""
echo "Test 1 (20 primeros bytes sin delimitadores o limites de longitud)"
echo "------------------------------------------------------------------"
echo " "
head -c 20 maximum_overdrive.bin >entrada.bin
echo "Entrada:"
echo "--------"
echo " "
head -c 20 entrada.bin
echo " "
echo " "
echo "Salida octal:"
echo "-------------"
echo ""
./tp1 -i entrada.bin -o salida.txt
head -c 100 salida.txt
echo ""
echo ""
echo "Archivo de referencia:"
echo "----------------------"
echo ""
head -c 60 maximum_overdrive.txt >referencia.txt
head -c 100 referencia.txt
echo ""
echo ""
echo "Si aquí no aparece mensaje de "diferencias entre archivos" la ejecución fue correcta:"
echo "-------------------------------------------------------------------------------------"
echo ""
diff -q salida.txt referencia.txt
echo ""
echo "Volcado a binario:"
echo "------------------"
echo ""
./tp1 -i salida.txt -o salida.bin -b
head -c 100 salida.bin
echo ""
echo ""
echo "Archivo de referencia:"
echo "----------------------"
echo ""
head -c 20 entrada.bin
echo ""
echo ""
echo "Si aquí no aparece mensaje de "diferencias entre archivos" la ejecución fue correcta:"
echo "-------------------------------------------------------------------------------------"
echo ""
diff -q salida.bin entrada.bin

echo "Test 2 (50 primeros bytes con delimitador ' ' longitud 8)"
echo "---------------------------------------------------------"
echo ""
head -c 50 maximum_overdrive.bin >entrada.bin
echo "Entrada:"
echo "--------"
echo ""
head -c 500 entrada.bin
echo ""
echo ""
echo "Salida octal:"
echo "-------------"
echo ""
./tp1 -i entrada.bin -o salida.txt -l 8 -d ' '
head -c 792 salida.txt
echo ""
echo ""
echo "Archivo de referencia:"
echo "----------------------"
echo ""
head -c 150 maximum_overdrive.txt >referencia.aux
./tp1 -i referencia.aux -o referencia.txt -l 8 -d ' ' -f
head -c 792 referencia.txt
echo ""
echo ""
echo "Si aquí no aparece mensaje de "diferencias entre archivos" la ejecución fue correcta:"
echo "-------------------------------------------------------------------------------------"
echo ""
echo ""
diff -q salida.txt referencia.txt
echo "Volcado a binario:"
echo "------------------"
echo ""
./tp1 -i salida.txt -o salida.bin -l 8 -d ' ' -b
head -c 200 salida.bin
echo ""
echo ""
echo "Archivo de referencia:"
echo "----------------------"
echo ""
head -c 50 entrada.bin
echo ""
echo ""
echo "Si aquí no aparece mensaje de "diferencias entre archivos" la ejecución fue correcta:"
echo "-------------------------------------------------------------------------------------"
echo ""
diff -q salida.bin entrada.bin
echo ""
echo "Test 3 (100 primeros bytes con delimitador <octal> longitud 10)"
echo "---------------------------------------------------------------"
echo ""
head -c 100 maximum_overdrive.bin >entrada.bin
echo "Entrada:"
echo "--------"
echo ""
head -c 10000 entrada.bin 
echo ""
echo ""
echo "Salida octal:"
echo "-------------"
echo ""
./tp1 -i entrada.bin -o salida.txt -l 10 -d "<octal>"
head -c 10000 salida.txt
echo ""
echo "Archivo de referencia:"
echo "----------------------"
echo ""
head -c 300 maximum_overdrive.txt >referencia.aux
./tp1 -i referencia.aux -o referencia.txt -l 10 -d "<octal>" -f
head -c 10000 referencia.txt
echo ""
echo ""
echo "Si aquí no aparece mensaje de "diferencias entre archivos" la ejecución fue correcta:"
echo "-------------------------------------------------------------------------------------"
echo ""
diff -q salida.txt referencia.txt
echo ""
echo ""
echo "Volcado a binario:"
echo "------------------"
echo ""
./tp1 -i salida.txt -o salida.bin -l 10 -d "<octal>" -b
head -c 10000 salida.bin
echo ""
echo ""
echo "Archivo de referencia:"
echo "----------------------"
echo ""
head -c 300 entrada.bin
echo ""
echo ""
echo "Si aquí no aparece mensaje de "diferencias entre archivos" la ejecución fue correcta:"
echo "-------------------------------------------------------------------------------------"
echo ""
diff -q salida.bin entrada.bin
echo ""
echo "Test 4 salida y entrada estándar(50 primeros bytes con delimitador ' ' longitud 8)"
echo "----------------------------------------------------------------------------------"
echo ""
head -c 50 maximum_overdrive.bin >entrada.bin
echo ""
echo "Entrada:"
echo "--------"
echo ""
head -c 500 entrada.bin
echo ""
echo ""
echo "Salida octal:"
echo "-------------"
echo ""
./tp1 -l 8 -d ' ' <entrada.bin >salida.txt 
head -c 792 salida.txt
echo ""
echo ""
echo "Archivo de referencia:"
echo "----------------------"
echo ""
head -c 150 maximum_overdrive.txt >referencia.aux
./tp1 -i referencia.aux -o referencia.txt -l 8 -d ' ' -f
head -c 792 referencia.txt
echo ""
echo ""
echo "Si aquí no aparece mensaje de "diferencias entre archivos" la ejecución fue correcta:"
echo "-------------------------------------------------------------------------------------"
echo ""
diff -q salida.txt referencia.txt
echo ""
echo "Volcado a binario:"
echo "------------------"
echo ""
./tp1 -l 8 -d ' ' -b <salida.txt >salida.bin 
head -c 200 salida.bin
echo ""
echo ""
echo "Archivo de referencia:"
echo "----------------------"
echo ""
head -c 50 entrada.bin
echo ""
echo ""
echo "Si aquí no aparece mensaje de "diferencias entre archivos" la ejecución fue correcta:"
echo "-------------------------------------------------------------------------------------"
echo ""
diff -q salida.bin entrada.bin
echo ""
echo ""
echo "Test 5: utización de pipes"
echo "------------------------------------------------------------------"
echo ""
echo "Comando a correr cat salida.bin | ./tp1 -i - -o - -O | ./tp1 -i - -o salida2.bin -b"
echo ""
cat salida.bin | ./tp1 -i - -o - -O | ./tp1 -i - -o salida2.bin -b 
echo ""
echo ""
echo "Si aquí no aparece mensaje de "diferencias entre archivos" la ejecución fue correcta:"
echo "-------------------------------------------------------------------------------------"
echo ""
echo ""
diff -q salida.bin salida2.bin
